package View;
import Srevice.ExwifeService;
import domain.Exwife;

/*
    界面层
    1.显示界面
    2.接受用户输入
    3.通过调用Service完成对前妻姐的各种操作
 */

import utils.Utility;

public class ExwifeView {

    //属性
    private boolean loop = true;    //控制显示菜单
    private char key = ' ';    //接受用户输入
    private ExwifeService exwifeService = new ExwifeService(10);


    //完成各个功能的方法

    //exit()方法用户确认是否要退出
    public boolean exit(){
        char key = Utility.readConfirmSelection();
        if(key == 'Y'){
            loop = false;
        }
        return true;
    }

    //updateExwife方法更新信息：打印界面，接受用户输入姓名，调用Service中的update方法对相应对象信息进行修改
    public void updateExwife(){
        System.out.println("\n---------------修改前妻姐信息---------------");
        System.out.println("请输入要修改的前妻姐名字：");
        String updateName = Utility.readString(10);
        //调用Service中的update方法对相应对象信息进行修改
        exwifeService.update(updateName);
        System.out.println("修改成功！！");
    }

    //findExwife方法查找前妻姐:打印界面，接受用户输入名字,调用Service中的findByname方法搜索相应信息并返回对象
    public void findExwife(){
        System.out.println("\n---------------查找前妻姐---------------");
        System.out.println("请输入要搜索的前妻姐姓名：");
        String findName = Utility.readString(10);
        //调用Service中的findByname方法搜索相应信息并返回对象
        Exwife findexwife = exwifeService.findByname(findName);
        if(findexwife != null){
            System.out.println("搜索到前妻姐姐信息如下：");
            System.out.println(findexwife);
        }else{
            System.out.println("没有该前妻姐！！");
        }
    }


    //delExwife()方法删除前妻姐信息：打印界面接受用户输入，调用Service中的del完成删除
    public void delExwife(){
        System.out.println("\n----------------删除前妻姐--------------");
        System.out.println("请输入要删除的前妻姐的姓名：");
        String delname = Utility.readString(10);
        //调用Service中的del完成删除
        if(exwifeService.del(delname)){
            System.out.println("删除成功，恭喜你失去一位前妻姐!!");
        }else{
            System.out.println("删除失败，该对象不在列表中！！");
        }
    }

    //addExwife()方法增加前妻姐:打印界面接受用户输入,调用Service中的add方法将用户输入信息加入到数组
    public void addExwife(){
        System.out.println("----------------新增前妻姐--------------");
        System.out.println("姓名：");
        String name = Utility.readString(6);
        System.out.println("年龄：");
        int age = Utility.readInt();
        System.out.println("电话：");
        String phone = Utility.readString(12);
        System.out.println("家庭住址：");
        String address = Utility.readString(10);
        System.out.println("身高：");
        int heigh = Utility.readInt();
        System.out.println("体重：");
        int weight = Utility.readInt();
        //调用Service中的add方法将用户输入信息加入到数组
        Exwife newexwife = new Exwife(name,age,phone,address,heigh,weight);
        if(exwifeService.add(newexwife)){
            System.out.println("恭喜你喜提新的前妻姐！！");
        }else{
            System.out.println("添加失败，对方不想成为前妻姐！！");
        }
    }


    //显示前妻姐列表:调用Service中list返回的信息
    public void listExwife(){
        System.out.println("----------------前妻姐列表---------------");
        System.out.println("姓名\t\t年龄\t\t电话\t\t家庭地址\t\t身高\t\t体重");
        //调用Service中list返回的信息
        Exwife[] exwifes = exwifeService.list();
        //遍历数组输出
        for(int i=0;i<exwifes.length;i++){
            if(exwifes[i]!=null){
                System.out.println(exwifes[i]);
            }
        }
    }

    //显示主菜单
    public void mainView(){
        do{
            System.out.println("\n---------------前妻姐管理系统---------------");
            System.out.println("\t\t\t1 新增前妻姐");
            System.out.println("\t\t\t2 查找前妻姐");
            System.out.println("\t\t\t3 删除前妻姐");
            System.out.println("\t\t\t4 修改前妻姐信息");
            System.out.println("\t\t\t5 前妻姐列表");
            System.out.println("\t\t\t6 退           出");
            System.out.println("请输入你的选择：(1-6)");

            key = Utility.readChar();   //读取用户输入
            switch (key){
                case '1':
                    this.addExwife();
                    break;
                case '2':
                    this.findExwife();
                    break;
                case '3':
                    this.delExwife();
                    break;
                case '4':
                    this.updateExwife();
                    break;
                case '5':
                    this.listExwife();
                    break;
                case '6':
                    this.exit();
                    break;
                default:
                    System.out.println("你的输入有误，请重新输入！！");
            }
        }while(loop);
    }
}
